//定义接口数据类型
//登录接口携带参数的ts类型
export interface loginForm {
  username: string;
  password: string;
}
//登录接口响应返回的类型
// interface dataType {
//   token?: string;
//   message?: string;
// }

// 接口响应基本参数的基本类型
interface responseData {
  code: number;
  message: string;
  ok: boolean;
}

export interface loginResponseData extends responseData {
  data: string;
}

//定义服务器返回用户信息相关的数据类型
// 类型定义方法一：如果在不确定对象中有多少属性，只能确定属性的类型，可以用下面方法定义
// interface user {
//   checkUser: {
//     userId: number;
//     roles: string[];
//     buttons: string[];
//     routes: string[];
//     [key: string]: string | number | string[];
//   };
// }

//类型定义方法二：标准写法，将对象中所有属性的类型一一定义
type userInfo = {
  avatar: string;
  name: string;
  roles: string[];
  buttons: string[];
  routes: string[];
};
// interface user {
//   checkUser: userInfo;
// }
export interface userResponseData extends responseData {
  data: userInfo;
}
